Lens 是一種 Kubernetes 管理工具,我個人的使用經驗來看,主要有以下幾項非常實用的功能:
Lens 官網
往常我們都需要取得權限,再透過 SSH 連到 Nodes 進行我們想要的操作,而 Node Shell 就可以讓我們輕易的透過 UI 來進入 Nodes 的 Terminal。
雖然我們可以透過 kubectl logs
指令來取得 Pods 的 Log,但是其實不是那麼的容易使用,像是需要指定 Pods/Containers Name。而 Lens 則可以直接透過 UI 來快速觀看 Log,就算是 Restart 後的 Pods,也可以快速的找到 Restart 前的 Log,這對於維運人員的 Debug 非常地有幫助。
昨天有提到 Helm 這個工具,而 Lens 也有將其整合,我們可以直接使用 Lens 來代替指令完成各種複雜的操作,也可以直接在 Lens 修改 values.yaml
的值。不過我認為這不是好習慣啦 XD,Values 還是要透過版控來紀錄在 Git 會是比較好的習慣。但是這個功能在工作的做實驗時,或是緊急時刻真的是非常的有幫助。
其他還有許多好用的功能像是 Pod Shell
、Edit Yaml
、自動 Decode Secrets 的 Base64 之類的好用功能,真心推薦大家使用這個工具。
Lens 預設和 kubectl
一樣會去讀取 ~/.kube/config
,也就是 kubeconfig
的值,所以我們如果想要將 Clusters 加入 Lens 中,只要將它的 context、cluster、user 加入 kubeconfig 中,就可以在 Lens 中找到我們的 Clusters 了。
Lens 是個人免費使用的商用軟體,所以如果要在公司使用時,需要特別注意 License 的問題。最理想的狀況當然是買下去支持好用的工具,但如果不想付錢的話,這個工具有開源版的 OpenLens。而比較可惜的是,目前 Lens 已經沒有開放它的源碼,所以未來 Lens 上面的新功能可能比較難在 OpenLens 上使用了。